#1.引入一张图片
#2.要有一个LOGO
#3.计算图片在什么地方添加，把需要添加的地方变成黑色，变成黑色的方法，先取反，再进行与
#4.利用add，将logo与图片叠加在一起

import cv2
import numpy as np

#导入需要添加LOGO的图片
img = cv2.imread('C:\\Users\\Mengyang\\Desktop\\112.png')

#创建LOGO
logo = np.zeros((200,200,3),np.uint8)
mask =  np.zeros((200,200),np.uint8)  #掩码,2通道

#绘制LOGO
logo[20:120,20:120] = [0,0,255]
logo[80:180,80:180] = [0,255,0]

mask[20:120,20:120] = 255
mask[80:180,80:180] = 255

#对mask按位求反
m = cv2.bitwise_not(mask)

#选择图片添加logo位置
roi = img[0:200,0:200]  #选择要显示的区域

#与m进行与操作
tmp = cv2.bitwise_and(roi, roi, mask = m)   #3通道图像的与操作，把需要的区域扣出来

#在抠出来的区域加logo
dst = cv2.add(tmp,logo)  #原图加水印的区域roi
img[0:200,0:200] = dst   #进行区域赋值，在原图上加水印

cv2.imshow('tmp',tmp)
cv2.imshow('mask',mask)
cv2.imshow('logo',logo)
cv2.imshow('m',m)
cv2.imshow('dst',dst)
cv2.imshow('img',img)


cv2.waitKey(0)
